home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr11 / nr3_tech.zip / CONMEM.TXT < prev    next >
Text File  |  1993-06-18  |  3KB  |  74 lines

  1. The importance of total memory vs. conventional memory.
  2.  
  3. A common misconception is that the goal of a memory manager
  4. is simply to get the most conventional memory.  Although an
  5. important aspect of memory management, this is only part of
  6. the story.
  7.  
  8. A memory manager's true goal is to provide the most
  9. available memory below 1mb, while sacrificing the least in
  10. performance.  (Conventional memory is important because, of
  11. course, without enough of it many applications won't run at
  12. all.)  In this respect, the more upper memory the memory
  13. manager can provide, the more device drivers can be loaded
  14. high by a configurator, and so more conventional memory is
  15. available.
  16.  
  17. High-level language programs can use upper memory.
  18.  
  19. However in a configuration in which every device is already
  20. loaded into upper memory, having a substantial amount of
  21. upper memory still free is advantageous.  This is because
  22. most programs written today are developed using higher level
  23. languages such as C that rely heavily on libraries supplied
  24. with the compiler.
  25.  
  26. These libraries almost invariably perform memory allocation
  27. on behalf of the program, and allocate memory using standard
  28. DOS calls.  Thus if upper memory is available it can be
  29. allocated and used for data storage.
  30.  
  31. Using the LH command to breath new life into older programs.
  32.  
  33. Even programs written before the advent of DOS 5 -- programs
  34. which are not aware of the DOS 5 API for accessing upper
  35. memory -- can be easily allowed to use upper memory by
  36. simply loading them with the LH command.  LH (LOADHIGH) will
  37. place a program in the smallest memory block that will hold
  38. all the programs code, but will make available all other
  39. memory, both conventional and upper as one large pool.
  40.  
  41. For application programs this means that the program code
  42. will load in conventional memory, but ALL available memory
  43. is linked and made accessible.  Compilers will run faster,
  44. you'll be able to create larger spreadsheets and documents
  45. and all programs will run faster.
  46.  
  47. Windows makes heavy use of upper memory.
  48.  
  49. And if you use Windows the upper memory available is
  50. extremely important.  Windows uses upper memory to its
  51. fullest, allocating larger translation buffers and more
  52. space for such structures as "call backs" and "global memory
  53. areas" in upper memory.  Having a large pool of upper memory
  54. available is key to better Windows performance.
  55.  
  56. When Windows is forced to use conventional memory, such as
  57. when upper memory is filled by an EMS page frame and drivers
  58. and TSRs, Windows becomes conservative, allocating only just
  59. enough to get by on.  If on the other hand, lots of upper
  60. memory is available Windows takes it all and uses it.
  61.  
  62. This makes it possible to run larger DOS applications, but
  63. also makes ALL of Windows work faster and more reliably.
  64.  
  65.  
  66. So look for the memory manager that provides the most TOTAL
  67. memory below 1Mb.
  68.  
  69. And if you use Windows, look for the memory manager that can
  70. provide the most upper memory period.
  71.  
  72. Copyright (c) 1993, Helix Software Co., Inc.
  73.  
  74.